From 772521465b9297c1acbfe42fcbe524dd0c8f0ae0 Mon Sep 17 00:00:00 2001 From: Jimi Xenidis Date: Fri, 29 Sep 2006 09:53:39 -0400 Subject: [PATCH] [XEN][POWERPC] Conistence with log vs. order We use "log" for a log2 value, "order" is the log2 of page size, so: order = log - PAGE_SHIFT It is confusing, but more so if we are not consistent. Signed-off-by: Jimi Xenidis Signed-off-by: Hollis Blanchard --HG-- extra : transplant_source : %3B%F1hO%03.%BF%5C%CA%BD%A8%F0%A7%CC%10upa%B0%BF --- xen/arch/powerpc/domctl.c | 6 +++--- xen/arch/powerpc/powerpc64/ppc970.c | 31 +++++++++++++++-------------- xen/include/asm-powerpc/processor.h | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/xen/arch/powerpc/domctl.c b/xen/arch/powerpc/domctl.c index ecdae23271..c51430d132 100644 --- a/xen/arch/powerpc/domctl.c +++ b/xen/arch/powerpc/domctl.c @@ -96,14 +96,14 @@ long arch_do_domctl(struct xen_domctl *domctl, case XEN_DOMCTL_real_mode_area: { struct domain *d; - unsigned int log = domctl->u.real_mode_area.log; + unsigned int order = domctl->u.real_mode_area.log - PAGE_SHIFT; ret = -ESRCH; d = find_domain_by_id(domctl->domain); if (d != NULL) { ret = -EINVAL; - if (cpu_rma_valid(log)) - ret = allocate_rma(d, log - PAGE_SHIFT); + if (cpu_rma_valid(order)) + ret = allocate_rma(d, order); put_domain(d); } } diff --git a/xen/arch/powerpc/powerpc64/ppc970.c b/xen/arch/powerpc/powerpc64/ppc970.c index eacbf4ea0f..04b087513f 100644 --- a/xen/arch/powerpc/powerpc64/ppc970.c +++ b/xen/arch/powerpc/powerpc64/ppc970.c @@ -45,42 +45,43 @@ struct cpu_caches cpu_caches = { }; struct rma_settings { - int order; + int log; int rmlr_0; int rmlr_1_2; }; -static struct rma_settings rma_orders[] = { - { .order = 26, .rmlr_0 = 0, .rmlr_1_2 = 3, }, /* 64 MB */ - { .order = 27, .rmlr_0 = 1, .rmlr_1_2 = 3, }, /* 128 MB */ - { .order = 28, .rmlr_0 = 1, .rmlr_1_2 = 0, }, /* 256 MB */ - { .order = 30, .rmlr_0 = 0, .rmlr_1_2 = 2, }, /* 1 GB */ - { .order = 34, .rmlr_0 = 0, .rmlr_1_2 = 1, }, /* 16 GB */ - { .order = 38, .rmlr_0 = 0, .rmlr_1_2 = 0, }, /* 256 GB */ +static struct rma_settings rma_logs[] = { + { .log = 26, .rmlr_0 = 0, .rmlr_1_2 = 3, }, /* 64 MB */ + { .log = 27, .rmlr_0 = 1, .rmlr_1_2 = 3, }, /* 128 MB */ + { .log = 28, .rmlr_0 = 1, .rmlr_1_2 = 0, }, /* 256 MB */ + { .log = 30, .rmlr_0 = 0, .rmlr_1_2 = 2, }, /* 1 GB */ + { .log = 34, .rmlr_0 = 0, .rmlr_1_2 = 1, }, /* 16 GB */ + { .log = 38, .rmlr_0 = 0, .rmlr_1_2 = 0, }, /* 256 GB */ }; static uint log_large_page_sizes[] = { 4 + 20, /* (1 << 4) == 16M */ }; -static struct rma_settings *cpu_find_rma(unsigned int order) +static struct rma_settings *cpu_find_rma(unsigned int log) { int i; - for (i = 0; i < ARRAY_SIZE(rma_orders); i++) { - if (rma_orders[i].order == order) - return &rma_orders[i]; + + for (i = 0; i < ARRAY_SIZE(rma_logs); i++) { + if (rma_logs[i].log == log) + return &rma_logs[i]; } return NULL; } unsigned int cpu_default_rma_order_pages(void) { - return rma_orders[0].order - PAGE_SHIFT; + return rma_logs[0].log - PAGE_SHIFT; } -int cpu_rma_valid(unsigned int log) +int cpu_rma_valid(unsigned int order) { - return cpu_find_rma(log) != NULL; + return cpu_find_rma(order + PAGE_SHIFT) != NULL; } unsigned int cpu_large_page_orders(uint *sizes, uint max) diff --git a/xen/include/asm-powerpc/processor.h b/xen/include/asm-powerpc/processor.h index 4893f44c36..3614e248ed 100644 --- a/xen/include/asm-powerpc/processor.h +++ b/xen/include/asm-powerpc/processor.h @@ -120,7 +120,7 @@ extern int cpu_machinecheck(struct cpu_user_regs *); extern void show_registers(struct cpu_user_regs *); extern unsigned int cpu_extent_order(void); extern unsigned int cpu_default_rma_order_pages(void); -extern int cpu_rma_valid(unsigned int log); +extern int cpu_rma_valid(unsigned int order); extern uint cpu_large_page_orders(uint *sizes, uint max); extern void cpu_initialize(int cpuid); extern void cpu_init_vcpu(struct vcpu *); -- 2.30.2